Lego Sherlock Holmes figure focuses a light beam on a Lego criminal with a small magnifying glass.

I2C on BrickPi3

The BrickPi3 by Dexter Industries (dexterindustries.com) has a useful extra feature of a Grove port for connecting I2C devices. Using this capability a small display can be added to Mindstorms inventions or various sensors can be added that aren’t available in the Mindstorms system. Grove displays and sensors are available in many types (seeedstudio.com). In the video above I’ve added a Grove RGB LCD to a contraption for dialing in various colors on the display. Mindstorms motors are being used here as adjustment knobs by reading encoder data to sense turning of the motor. A clockwise rotation of the motor adds an increment of constituent color. One motor is dedicated to each of the three constituent colors of red, green, and blue. These adjustments change the backlight color of the RGB LCD, and the color level is displayed as text on the display from 0 to 255. In the video above red is dialed up to a maximum, then a little blue is added to make pink. I made a similar device in a blog post on Favorite Color Machine, but using the GrovePi (also by Dexter Industries). Whereas in this invention the BrickPi3 is used.

While the BrickPi3 only has one Grove port, it can be expanded by an I2C Hub as shown in the photo below. More than one device can be connected to the I2C Hub—I have a Digital Light Sensor and RGB LCD connected in the photo below. Measurements from the sensor can be displayed on the RGB LCD. The Grove port on the BrickPi3 works with I2C devices. Analog or digital Grove devices would need another interface, such as stacking a GrovePi on top of the BrickPi3.

The I2C Hub allows connection of multiple I2C devices.